<?php

namespace ApiBundle\Document;

class ConfigDocument extends ApiDocument
{
    public function add()
    {
        $this->setGroup('配置信息');
        parent::add();
        return $this;
    }

    public function setUrl($url)
    {
        parent::setUrl('/config' . $url);
        return $this;
    }

    public function dataPackAction()
    {
        $this->add()
            ->setTitle('数据包')
            ->setUrl('/dataPack')
            ->setExplain('注意： 返回值 可联系后端提供 ')
            ->setReturn(
                <<<EOF
<pre>
"{
    "errorCode": 0,
    "message": {
        "message": "成功得到数据"
    },
    "data": {
    }
}"
</pre>
EOF

            )
            ->generate();
    }


    public function appConfigAction()
    {
        $this->add()
            ->setTitle('app配置')
            ->setUrl('/appConfig')
            ->setExplain(
                <<<EOF
<pre>
执行策略： 
    该接口是为了强化服务器对客户端的控制，以满足特殊情况下的强制干预。
    该接口需要客户端每次唤醒时候访问
        访问判断返回值is_suspend；为0客户端正常执行，为1则客户端根据suspend_jump_url加载html页面
</pre>
EOF

            )
            ->setReturn(
                <<<EOF
<pre>
"{
    "errorCode": 0,
    "message": {
        "message": ""
    },
    "data": {
        "is_suspend": 0,    客户端是否中断执行  0 or 1
        "suspend_jump_url": "",   客户端中断执行后跳转的网页url
        "global_data": {
            "role": "1"    
        }
    }
}"
</pre>
EOF

            )
            ->generate();
    }

    public function versionUpdateAction()
    {
        $this->add()
            ->setTitle('版本更新')
            ->setUrl('/versionUpdate')
            ->setReturn(
                <<<EOF
<pre>                
"{
    "errorCode": 0,
    "message": {
        "message": "成功得到数据"
    },
    "data": {
        "updated": [
            {
                "force": 0,  是否强制更新 0 or 1
                "version": "", 服务器当前apk版本号
                "download": "",  下载地址
                "message": {
                    "title": "版本更新",
                    "items": [
                        "版本优化"
                    ]
                }
            }
        ]
    }
}"
</pre>
EOF

            )
            ->generate();
    }

    /**
     * @throws \Exception
     */
    public function downloadAction()
    {
        $this->add()
            ->set('param', array())
            ->setReturnType('file')
            ->setTitle('下载')
            ->setExplain('请求会直接跳转地址 或直接返回安装包资源包 或跳转到新的下载页')
            ->setUrl('/download')
            ->addParam('client', '客户端', 'url_param', false, 'mall', '不传默认为mall； mall：商城')
            ->generate();
    }

}